package org.jeecg.modules.meter.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.entity.charge.ChargeInvoiceRequest;
import org.jeecg.entity.meter.MeterOrder;
import org.jeecg.model.charge.reqvo.DayReportReqVo;
import org.jeecg.model.charge.resvo.DayReportRespVo;
import org.jeecg.model.meter.reqvo.MeterDayReportReqVo;
import org.jeecg.model.meter.resvo.MeterDayReportRespVo;
import org.jeecg.modules.meter.entity.MeterPayConfig;
import org.jeecg.modules.meter.entity.PayAccountConfig;

import java.util.List;

/**
 * @Description: 仪器充值订单表
 * @Author: jeecg-boot
 * @Date:   2020-11-27
 * @Version: V1.0
 */
public interface MeterOrderMapper extends BaseMapper<MeterOrder> {

    List<MeterOrder> findPage(Page<MeterOrder> page, @Param("meterOrder") MeterOrder meterOrder);

    MeterOrder getById(@Param("id") String id);

    MeterOrder getOrderBySn(@Param("sn") String sn);

    void updatePayStatus(@Param("id") String id,@Param("payTime") String payTime,@Param("payStatus") Integer payStatus);

    List<MeterDayReportRespVo> findGroupList(@Param("reportReq") MeterDayReportReqVo meterDayReportReqVo);

    List<DayReportRespVo> apiFindGroupList(@Param("dayReportReqVo") DayReportReqVo dayReportReqVo);

    MeterPayConfig getMeterPayConfig(@Param("projectId") String projectId, @Param("payMethod") String payMethod);

    PayAccountConfig getPayConfigByFid(@Param("floorId") String floorId, @Param("feeItemId") String feeItemId, @Param("payMethod") String payMethod);

    List<ChargeInvoiceRequest> invoiceRequestListBySn(@Param("sn") String sn);

    ChargeInvoiceRequest invoiceRequestByFpqqlsh(@Param("fpqqlsh") String fpqqlsh);

    String getOpenId(@Param("sn") String cn);
}
